package com.moss.system.service;


import com.moss.common.entity.SysRoleEntity;
import com.moss.common.entity.SysUserEntity;

import java.util.List;
import java.util.Set;

public interface RoleService {

    List<SysRoleEntity> getRoleList(SysRoleEntity role);

    /**
     * 获取用户
     * @param userId
     * @return
     */
    Set<String> selectRolePermissionByUserId(String userId);

    /**
     * 批量保存角色
     * @param role
     */
    void saveRole(SysRoleEntity role);

    /**
     * 获取最大排序号
     * @return
     */
    Integer findMaxSort();

    /**
     * 获取角色详情
     * @param roleId
     * @return
     */
    SysRoleEntity getById(Long roleId);

    /**
     * 修改角色
     * @param role
     */
    void updateRole(SysRoleEntity role);

    /**
     * 修改角色状态
     * @param role
     */
    void updateRoleStatus(SysRoleEntity role);

    void deleteRole(Long[] roleIds);

    List<SysRoleEntity> selectRoleAll();

    Long[] selectUserRoleIds(String userId);

    /**
     * 更新用户角色
     * @param user
     */
    void updateUserRole(SysUserEntity user);
}
